Online cart and shopping list sharing

ABSTRACT

Systems, methods, and non-transitory computer readable media providing shared online shopping lists and/or carts among users are disclosed. The method includes receiving a primary virtual shopping cart containing related items generated by a first user. A database entry for the primary shopping cart is created and correlated with a shopping cart identifier in response to a user request. The database entry includes one or more keywords associated with the first user of the primary virtual shopping cart. A query is received from a second user, and a list of primary virtual shopping carts is provided to the second user based on relevancy to the query. In response to a request by the second user, the contents of a selected primary virtual shopping cart is duplicated in a secondary virtual shopping cart associated with the second user.

RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 14/815,164 filed on Jul. 31, 2015, which claimspriority to U.S. Provisional Application Ser. No. 62/013,430 filed onJul. 31, 2014, the disclosures of which are incorporated by referenceherein in their entirety.

BACKGROUND

In existing offline retail store e-commerce web sites, a customer doesnot typically have flexibility to share their cart with family, friends,or others having similar needs. Currently, in both offline and onlinemodes, a customer can typically only show or share a payment receiptcontaining purchased items information to others.

Even after having a payment receipt, other customers who also need thesame set of items have to either visit a retail store or login online topick products from shelves or from an online catalogue for shopping.Just sharing a payment receipt with others is not always helpful toother customers in shopping. To make it worse, most customers do notlike to share lists with friends or at least with larger groups due toprivacy concerns.

Accordingly, there is a need to provide customers an effective way toshare shopping carts and/or lists. There is a further need for a methodof generating shopping lists and carts for online shopping that can beshared among persons with similar shopping needs.

SUMMARY

Embodiments described herein provide a system and method foradvantageously sharing saved virtual shopping carts. The system andmethod provide for a computerized improvement to the functioning of acomputer system by storing populated virtual shopping carts and makingthem accessible to users for automatic purchase of the entire cart. Thefunctionality of automatically purchasing an all the items within apre-populated virtual cart reduces the burden on the servers anddatabase(s) by reducing the number of queries performed to searchindividual products and improves the speed and efficiency of the systemby reducing the burden on the servers and databases.

Exemplary embodiments described herein provide for a method for creatingand replicating database entries and associating created and replicateddatabase entries with different users. The method includes receiving, bya database from a server, a primary virtual shopping cart containingitems generated; creating, by the database, a database entry for theprimary shopping cart and correlating it with a shopping cart identifierin response to a user request. The database entry includes one or morekeywords associated with the first user or the primary virtual shoppingcart and access permissions. The method also includes receiving, by thedatabase from the server, a query for saved primary virtual shoppingcarts; transmitting, to the server from the database, primary virtualshopping carts returned in response to the query; ranking, by theserver, the returned primary virtual shopping carts in a list based onpre-determined criteria; transmitting to a user computing device havinga display operatively coupled thereto, the ranked list of primaryvirtual shopping carts based on the query; and duplicating, on theserver, the contents of a selected primary virtual shopping cart in asecondary virtual shopping cart.

Exemplary embodiments of the present disclosure provide for system ofcreating and replication database entries and associating created andreplicated database entries with different users. The system includes aserver; a computing device; a display operatively coupled to thecomputing device; and a database. The database (i) receives, from theserver, a primary virtual shopping cart containing items; (ii) creates adatabase entry for the primary virtual shopping cart and correlating itwith a shopping cart identifier in response to a user request; (iii)receives, from the server, a query for saved primary virtual shoppingcarts and user information; and (iv) transmits, to the server, primaryvirtual shopping carts returned from the query. The server (i) ranks thereturned primary virtual shopping carts based on pre-determinedcriteria; (ii) transmits, to the computing device, a list of the rankedprimary virtual shopping carts; and (iii) duplicates the contents of aselected primary virtual shopping cart in secondary virtual shoppingcart. The database entry includes one or more keywords associated withthe first user or the primary virtual shopping cart and accesspermissions.

In exemplary embodiments, at least one of the primary virtual shoppingcarts is provided with an expiration date after which the at least oneprimary virtual shopping cart will no longer be available forduplication into a secondary virtual shopping cart or appear in searchresults.

In exemplary embodiments, wherein the primary virtual shopping carts areassociated with one or more events, uses, or activities.

In exemplary embodiments, wherein the query is a search query usingkeywords.

In exemplary embodiments, wherein the query is a shopping cart ID query.

In exemplary embodiments, wherein the shopping cart ID query is made byscanning or image capturing at least a portion of a purchase receipt.

In exemplary embodiments, wherein the primary virtual shopping carts maybe edited by a plurality of users prior to being copied into a secondaryvirtual shopping cart.

In exemplary embodiments, wherein the access permission will allow ordeny accessibility to the primary virtual shopping cart.

Any combination and/or permutation of embodiments is envisioned. Otherembodiments, objects, and features will become apparent from thefollowing detailed description considered in conjunction with theaccompanying drawings. It is to be understood, however, that thedrawings are designed as an illustration only and not as a definition ofthe limits of the present disclosure.

BRIEF DESCRIPTION OF DRAWINGS

Illustrative embodiments are shown by way of example in the accompanyingdrawings and should not be considered as a limitation of the presentdisclosure:

FIG. 1 is a block diagram of an example computing device used to create,save and access saved virtual shopping carts;

FIG. 2 illustrates an exemplary environment through which the computingdevice communicate with other devices;

FIG. 3 is a flowchart illustrating the process of creating, saving andsharing the virtual shopping cart according to an exemplary embodiment;and

FIG. 4 is a flowchart illustrating the process of accessing the savedvirtual shopping cart according to an exemplary embodiment.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Described in detail herein are methods, and systems associated withcreating virtual shopping carts pre-populated with items, saving thevirtual shopping carts and making the virtual shopping carts accessibleto users. In exemplary embodiments, a primary user may populate ashopping cart to include various items, the primary user may assign aname to the shopping cart, associate keywords with the shopping cart andsave the virtual shopping cart. In exemplary embodiments, a secondaryuser may access the saved virtual shopping cart. In exemplaryembodiments, the secondary user can, save the virtual shopping cart,re-share the virtual shopping cart, and add the items from the savedvirtual shopping cart into their own personal virtual shopping cart.

The following description is presented to enable any person skilled inthe art to creating virtual shopping carts pre-populated with items,saving the virtual shopping carts and making the virtual shopping cartsaccessible to users. Various modifications to the example embodimentswill be readily apparent to those skilled in the art, and the genericprinciples defined herein may be applied to other embodiments andapplications without departing from the spirit and scope of theinvention. Moreover, in the following description, numerous details areset forth for the purpose of explanation. However, one of ordinary skillin the art will realize that example embodiments of the presentdisclosure may be practiced without the use of these specific details.In other instances, well-known structures and processes are shown inblock diagram form in order not to obscure the description of exampleembodiments with unnecessary detail. Thus, the present disclosure is notintended to be limited to the embodiments shown, but is to be accordedthe widest scope consistent with the principles and features disclosedherein.

FIG. 1 is a block diagram of an example computing device 100 that may beused to implement exemplary operations of the creating orders by theprimary and secondary user. The computing device 100 includes one ormore non-transitory computer-readable media for storing one or morecomputer-executable instructions or software for implementing exemplaryembodiments. The non-transitory computer-readable media may include, butare not limited to, one or more types of hardware memory, non-transitorytangible media (for example, one or more magnetic storage disks, one ormore optical disks, one or more flash drives, one or more solid statedisks), and the like. For example, memory 106 included in the computingsystem 100 may store computer-readable and computer-executableinstructions or software for implementing exemplary operations of thecomputing device. The computing device 100 also includes configurableand/or programmable processor 102 and associated core(s) 104, andoptionally, one or more additional configurable and/or programmableprocessor(s) 102′ and associated core(s) 104′ (for example, in the caseof computer systems having multiple processors/cores), for executingcomputer-readable and computer-executable instructions or softwarestored in the memory 106 and other programs for controlling cashierstation 100 components operatively coupled to the computing system 100.Processor 102 and processor(s) 102′ may each be a single core processoror multiple core (104 and 204′) processor.

Virtualization may be employed in the computing system 100 so thatinfrastructure and resources in the computing system 100 may be shareddynamically. A virtual machine 112 may be provided to handle a processrunning on multiple processors so that the process appears to be usingonly one computing resource rather than multiple computing resources.Multiple virtual machines may also be used with one processor.

Memory 106 may include a computer system memory or random access memory,such as DRAM, SRAM, EDO RAM, and the like. Memory 106 may include othertypes of memory as well, or combinations thereof.

A user may interact with the computing system 100 through a visualdisplay device 114, such as a computer monitor, which may display one ormore graphical user interfaces 116, multi touch interface 120, and apointing device 118.

The computing device 100 may also include one or more storage devices126, such as a hard-drive, CD-ROM, or other computer readable media, forstoring data and computer-readable instructions and/or software thatimplement exemplary of the computing device 100 (e.g., applications 130including a primary user application 132, a secondary user application134). The execution of the primary user application 132 by the processor102 allows a user to create a virtual shopping carts populated withmultiple items. The execution of the secondary user application 134 bythe processor 102 allows a user to replicate or duplicate pre-populatedvirtual shopping carts. Exemplary storage device 126 may also store oneor more databases 128 for storing any suitable information required toimplement exemplary embodiments. For example, exemplary storage device126 can store one or more databases 128 for storing information such assaved pre-populated virtual shopping carts and customer information. Thedatabases may be updated manually or automatically at any suitable timeto add, delete, and/or update one or more data items in the databases.

The computing device 100 can include a network interface 108 configuredto interface via one or more network devices 124 with one or morenetworks, for example, Local Area Network (LAN), Wide Area Network (WAN)or the Internet through a variety of connections including, but notlimited to, standard telephone lines, LAN or WAN links (for example,802.11, T1, T3, 56 kb, X.25), broadband connections (for example, ISDN,Frame Relay, ATM), wireless connections, controller area network (CAN),or some combination of any or all of the above. In exemplaryembodiments, the computing system can include one or more antennas 122to facilitate wireless communication (e.g., via the network interface)between the computing device 100 and a network. The network interface108 may include a built-in network adapter, network interface card,PCMCIA network card, card bus network adapter, wireless network adapter,USB network adapter, modem or any other device suitable for interfacingthe computing device 100 to any type of network capable of communicationand performing the operations described herein.

The computing device 100 may run any operating system 110, such as anyof the versions of the Microsoft® Windows® operating systems, thedifferent releases of the Unix and Linux operating systems, any versionof the MacOS® for Macintosh computers, any embedded operating system,any real-time operating system, any open source operating system, anyproprietary operating system, or any other operating system capable ofrunning on the computing device 100 and performing the operationsdescribed herein. In exemplary embodiments, the operating system 110 maybe run in native mode or emulated mode. In an exemplary embodiment, theoperating system 110 may be run on one or more cloud machine instances.

In exemplary embodiments described herein, upon execution of the primaryuser application 132 by the processor 102, the processor 102 can provideone or more graphical user interfaces through which the primary user maycreate a virtual shopping cart populated with multiple items in responseto selection of items via the graphical user interface. In exemplaryembodiments, the primary user application 132 may provide one or moregraphical user interfaces in which the primary user may assign a uniquename to the virtual shopping cart and may assign keywords to the virtualshopping cart associated with the items in items in the virtual shoppingcart. In exemplary embodiments, the primary user application 132 mayprovide one or more graphical user interfaces that allow the primaryuser to share a link for a saved virtual shopping cart using variousplatforms. In exemplary embodiments, the primary user application 132may provide one or more graphical user interfaces in which the primaryuser may make the saved virtual shopping cart accessible to the publicor make the virtual shopping cart private only giving access to userswith the link. In exemplary embodiments, the primary user application132 may provide one or more graphical user interfaces in which theprimary user may set an expiration date on the link to the saved virtualshopping cart.

In exemplary embodiments, upon execution of the secondary userapplication 134 by the processor 102 can provide one or more graphicaluser interfaces through which the secondary user may access a savedvirtual shopping cart using a provided link or searching for the savedvirtual shopping cart. In exemplary embodiments, the secondary userapplication 134 by the processor 102 can provide one or more graphicaluser interfaces through which the secondary user may add the items inthe saved virtual shopping cart to their personal virtual shopping cart.In exemplary embodiments, the secondary user application 134 by theprocessor 102 can provide one or more graphical user interfaces throughwhich the secondary user may save the items in the virtual shopping cartin a list only accessible to the secondary user. In exemplaryembodiments, the secondary user application 134 by the processor 102 canprovide one or more graphical user interfaces through which thesecondary user may re-share the saved virtual shopping cart usingvarious platforms.

FIG. 2 illustrates a network diagram depicting a system 200 for creatingand replicating database entries in the form of pre-populated virtualshopping carts. The system 200 can include a network 205, user computingdevices 207, a server 210, and the database(s) 220. Each of the usercomputing devices 207, the server 210, and the database(s) 220 is incommunication with the network 205.

In an example embodiment, one or more portions of network 205 may be anad hoc network, an intranet, an extranet, a virtual private network(VPN), a local area network (LAN), a wireless LAN (WLAN), a wide areanetwork (WAN), a wireless wide area network (WWAN), a metropolitan areanetwork (MAN), a portion of the Internet, a portion of the PublicSwitched Telephone Network (PSTN), a cellular telephone network, awireless network, a WiFi network, a WiMax network, any other type ofnetwork, or a combination of two or more such networks.

The user computing devices 207 can be implemented as an embodiment ofthe computing device 100 (shown in FIG. 1) and may comprise, but is notlimited to, work stations, computers, general purpose computers,Internet appliances, hand-held devices, wireless devices, portabledevices, wearable computers, cellular or mobile phones, portable digitalassistants (PDAs), smart phones, tablets, ultrabooks, netbooks, laptops,desktops, multi-processor systems, microprocessor-based or programmableconsumer electronics, network PCs, mini-computers, smartphones, tablets,netbooks, and the like. The user computing devices 207 may be used bythe primary user to create, save and share virtual shopping carts (e.g.,upon execution of a primary user application 132 by the processor 102).In other embodiments, the computing device 207 can be used by thesecondary user to access saved virtual shopping carts (e.g., uponexecution of a secondary user application 134 by the processor 102). Theuser computing devices 207 can include one or more components show inFIG. 1.

The user computing devices 207 may also include various external orperipheral devices to aid in performing transactions such as creating,saving and sharing virtual shopping carts by a primary shopper. Inexemplary embodiments, the user computing devices 207 may also includevarious external or peripheral devices to aid in performing transactionssuch as accessing, re-sharing, saving and purchasing items in the savedvirtual shopping cart by a secondary user. Examples of peripheraldevices include, but are not limited to, monitors, touch-screenmonitors, clicking devices (e.g., mouse), input devices (e.g.,keyboard), receipt printers, payment terminals, and the like. Examplesof payment terminals include, but are not limited to, card readers, pinpads, signature pads, signature pens, Square™ registers, LevelUp™platform, cash or change deposit devices, cash or change dispensingdevices, coupon accepting devices, and the like.

The user computing devices 207 may connect to network 205 via a wired orwireless connection. The user computing devices 207 may include one ormore applications or systems (e.g., the primary user application 132,the secondary user application). In an example embodiment, the usercomputing devices 207 may perform all the functionalities describedherein. In some embodiments, the user computing devices 207 can includea client side application, such as a web browser, that allows the usercomputing devices to communicate and interact with applications hostedby the server 210. For example, the server 210 can host the primary userapplication 132 and/or the secondary user application 134, and the usercomputing devices 207 can execute the client-side application tointeract with the applications 132 an 134.

In some embodiments, the user computing devices 207 may perform some ofthe functionalities, and server 210 performs the other functionalitiesdescribed herein. For example, the user computing devices 207 maygenerate the user interface in response to execution of the primary userapplication 132 and/or the secondary user application 134. In an anotherembodiment the server 210 may generate a user interface in response toexecution of the primary user application 132 and/or the secondary userapplication 134. In exemplary embodiments, the graphical user interfacefor the primary user application includes including a graphicalrepresentation of creating, saving, and sharing, a primary virtualshopping cart. In exemplary embodiments the graphical user interface fora secondary user application includes, searching and accessing virtualshopping carts.

In exemplary embodiments, the server 210 may query the databases toretrieve saved virtual shopping carts. The server 210 may host an onlinestore 215 and a virtual shopping cart engine 235. The virtual shoppingcart engine 235 may communicate with the database 220 to retrieve savedvirtual shopping carts and user shopping preferences. In exemplaryembodiments, the primary user application 132 and secondary userapplication 134 may interface with the online-store 215 to allow theprimary user and secondary user to create, save, share, search andaccess virtual shopping carts.

The database 220 may store information/data, as described herein. Forexample, the database 220 may include a virtual shopping carts database225 and a customer database 225. In exemplary embodiments the virtualshopping carts database 225 may hold all the saved virtual shoppingcarts including the items included in the virtual shopping carts. Inexemplary embodiments, a primary user, using the primary userapplication 132, may populate a virtual shopping cart with items andsave the shopping cart in the virtual shopping cart database 225. Inexemplary embodiments, the primary user, using the primary userapplication 132, may assign a name to the virtual shopping cart alongwith keywords associated with the items in the virtual shopping cart.The processor of a user computing device may transmit instructions tothe server 210 to save the the virtual shopping cart name and keywordsalong with the items in the virtual shopping cart database 225. Inexemplary embodiments, the primary user, using the primary userapplication, may set security permissions for which users may access thevirtual shopping cart. The processor of the server may instruct theserver to save the security permissions associated with the virtualshopping cart in the virtual shopping cart database 225. In exemplaryembodiments, the primary user, using the primary user application, mayset an expiration date for the virtual shopping cart. In response toreceipt of the expiration date by the server, the processor of theserver may instruct the server 210 to save the expiration dateassociated with the virtual shopping cart in the virtual shopping cartdatabase 225.

In exemplary embodiments, processor of the server may receive a requestto access a saved shopping virtual shopping cart in response to thesecondary user's interaction with the graphical user interface of thesecondary user application 134. The processor may instruct the server210 to retrieve the requested virtual shopping cart from the virtualshopping cart database 225. The request transmitted by the user computerdevice may include may include the user information of the userattempting to access the saved virtual shopping cart via the server 201.The server 210 may query the virtual shopping cart database 225 toretrieve the saved virtual shopping cart. In exemplary embodiments, thevirtual shopping cart database 225 may store security informationregarding access to the saved virtual shopping cart. The virtualshopping cart 225 may verify whether a user is able to access the savedvirtual shopping cart based comparison of the user information receivedfrom the server and security information stored with the virtualshopping cart. In exemplary embodiments, the processor 102 may receive asearch request in response to secondary user's interaction with thesecondary user application 134. The server 210 can search for savedvirtual shopping carts based on search terms and user informationtransmitted to the server by the user computing device. The server 210may query the virtual shopping cart database 225 based on the searchterms and virtual shopping cart database 225 may retrieve the relevantsaved virtual shopping carts. In exemplary embodiments, the database 220may query the customer database 230 using the user information toretrieve shopping preferences and previously accessed virtual shoppingcarts. The database 220 may transmit the relevant virtual shopping cartsand customer information to the server 210. The virtual shopping cartengine 235 in the server 210 may rank the received virtual shoppingcarts based on the received customer information. The server 210 canduplicate the contents of a selected primary virtual shopping cart inthe database 220 in response to user input and can associate theduplicated prepopulated selected virtual shopping cart with a secondaryvirtual shopping cart associated with the secondary user.

Each of the server 210 and database(s) 220 is connected to the network205 via a wired connection. Alternatively, one or more of the server 210and databases 220 may be connected to the network 205 via a wirelessconnection. Server 210 comprises one or more computers or processorsconfigured to communicate with computing device 100 and/or thedatabase(s) 220, via network 205. Server 210 hosts one or moreapplications or websites accessed by the computing device 100 and/orfacilitates access to the content of database(s) 220. Server 210 alsomay include online-store website 215 described herein. Database(s) 220comprise one or more storage devices for storing data and/orinstructions (or code) for use by server 210, and/or the computingdevice 100. Database(s) 220 and server 210 may be located at one or moregeographically distributed locations from each other or from thecomputing device 100. Alternatively, database(s) 220 may be includedwithin server 210.

FIG. 3 illustrates the process of creating, saving and sharing entriesin a database in the form of a virtual shopping cart by a primary user,using a primary user application 132 by a processor of a server inresponse to an interaction with a user computing device receiving inputsfrom a user, according to an exemplary embodiment. In exemplaryembodiments, in operation 300, the processor receives a selection ofitems to populate the virtual shopping cart in response to a primaryuser interacting with a graphical user interface operatively coupledwith the processor. In exemplary embodiments, the virtual shopping cartcan be populated in a physical store (e.g., at a point-of-sale terminalincluding an embodiment of the computing device 100 shown in FIG. 1) byor on-behalf of a primary user. In another embodiment, the primaryvirtual shopping can be created on a website hosting the online store bya primary user or on behalf of a primary user (e.g., a user device canaccess the server).

In operation 302, the primary user, via the primary user application132, may assign a name to the virtual shopping cart. In exemplaryembodiments, the server 210 receives a name identifying the createdvirtual shopping cart in response to primary user's interaction with theuser interface via the user computing device. The server 210 can storethe name identifying the virtual shopping cart along with the virtualshopping cart items in the virtual shopping cart database 225.

In operation 304, the primary user may assign keywords to the virtualshopping cart, via the primary user application 132. In exemplaryembodiments, the server 210 receives the keyword associated with thecreated virtual shopping cart in response to primary user's interactionwith the user interface via the user computer device. The server 210 canstore the keywords associated the virtual shopping cart along with thevirtual shopping cart items in the virtual shopping cart database 225.In exemplary embodiments, the keywords may be associated with the itemspopulated in the virtual shopping cart. In other embodiments, thekeywords may be associated with the primary user.

In operation 306, the primary user may set permissions and an expirationdate for the virtual shopping cart, via the primary user application132. In exemplary embodiments, the permissions may control theaccessibility of the virtual shopping cart for other users. In exemplaryembodiments, the virtual cart may be provided with an expiration dateafter which it will no longer appear in search results or be accessiblein response to clicking on a link previously associated with the cart.In exemplary embodiments, the server 210 receives the permissions andexpiration date associated with the created virtual shopping cart inresponse to primary user's interaction with the user interface via theuser computing device. The server 210 can store the permissions andkeywords associated the virtual shopping cart along with the virtualshopping cart items in the virtual shopping cart database 225.

In operation 308, the virtual cart can be stored in the database by theserver 210 via the primary user application 132 in response instructionsreceived from the user computer device that are generated in response touser interaction with the user computing device. In exemplaryembodiments, the server 210 can create a database entry for the primaryshopping in the virtual shopping cart database 225 based on user inputsreceived via the user computing device. The database entry may includethe name, one or more keywords associated with the primary user or withthe virtual shopping cart, the items populated in the shopping cartpermission settings and an expiration date for the virtual shoppingcart.

In operation 310, the primary user may share the virtual shopping cartwith other users using various different platforms, via the primary userapplication 132. In exemplary embodiments, the server 210 may receive arequest to share the saved virtual shopping cart in response to theprimary user's interaction with the interface. In exemplary embodiments,the virtual shopping cart may be shared among a group via email, SMS,MMS, social networking sites like Facebook, blogs, etc. In exemplaryembodiments, a group of sharing options may be provided via a graphicaluser interface where each button in the graphical user interfacecorresponds to a sharing option. In exemplary embodiments, uponselecting a sharing option, a shared cart page will be provided to allowthe user to make edits to the quantity and types of products, prompt theuser to login to a relevant third-party service such as Twitter,Blogger, or Facebook, and request the user provide a name for the cartto be shared. Once this information is provided, the cart may be storedin a database and provided a unique identifier. A URL may be generatedand provided as a link to retrieve the shared cart from the database bya user.

FIG. 4 illustrates an exemplary process for a secondary user to access,re-share, replicate, save, or purchase items in a saved virtual cart viaa secondary user application 134 executed by the server 210. Inoperation 400, the server 210 determines, whether a secondary user hasbeen provided a URL link to a saved virtual shopping cart. In operation402, if the secondary user does not have the link, the server mayreceive a search request for saved virtual shopping carts, in responseto a secondary user's interaction with the user interface via the usercomputing device. In exemplary embodiments, searches may be performed bytitle, primary user, or cart contents. The server 210 can receive thesearch request and secondary user information from the user computingdevice in response to user inputs at the user computing device. Thevirtual shopping cart machine 235 in the server 210 will communicate thesearch request and user information to the database 220.

In operation 404, the database may run a query based on the search wordsentered by the secondary user. In operation 406, the query may be runagainst the virtual shopping cart database. In operation 408, thedatabase may determine if the secondary user has permission to access asaved virtual shopping cart. In exemplary embodiments, private virtualshopping carts will not appear in search results or be sharable beyondthose secondary shoppers identified by the primary shopper. If thevirtual shopping cart is determined to be private and the secondary userdoes not have access to the virtual shopping cart the virtual shoppingcart is not returned in the query, in operation 412. In someembodiments, some virtual shopping carts may include delegated editingpermissions so that a group of users can collaborate on selecting thecontents of the shared cart. In operation 410, if the secondary userdoes have permission to access the virtual shopping cart a determinationis made to see if the virtual shopping cart is still active. The virtualshopping cart may be provided with an expiration date after which itwill no longer appear in search results. The virtual shopping cart willnot be returned in the query if the expiration date has passed, inoperation 412. If the virtual shopping cart is still active the virtualshopping cart result will be returned in the query.

In operation 416, the returned virtual shopping carts from the query maybe ranked by the server 210. The virtual shopping cart machine 235 mayrank the returned virtual shopping carts in based on a variety offactors. In exemplary embodiments, the factors may include thepopularity of the shared cart based on how many people have copied,re-shared, replicated, or subscribed to it; the identity and/or locationof the primary user who created the cart; and the identity and/orlocation of the secondary user requesting the search results or viewingthe pane.

In operation 418, the search results are transmitted from the server tothe user computing device and are displayed for the secondary user, viathe display of the user computing device. In exemplary embodiments, thedisplay 116 of the user computing device displays a list of links torelevant shared carts. In operation 420, the processor of the usercomputing device may receive a request to access a link to a virtualshopping cart displayed in the list of links in response to a secondaryuser interacting with the list of links on the user interface. The usercomputing device can transmit the selection to the server, which canopen or redirect a browser or other application window or mobile app incommunication with the online shopping site. In exemplary embodiments,the server may receive a request in response to the secondary userinteracting with the user interface to replicate the selected virtualshopping cart by populating the secondary user's personal virtualshopping cart with the items in the accessed virtual shopping cart,re-share the link, and/or save the items in the virtual shopping cart.

In operation 426, the secondary user, using the secondary userapplication 134 can re-share the link to the accessed virtual shoppingcart. The processor 102 may receive a request to re-share the link ofthe virtual shopping cart in response to secondary user's interactionwith the user interface. The processor 102 will transmit the request tore-share to the server 210. In exemplary embodiments, re-sharing couldsimply further distribution of the original virtual shopping cart orallow for modification of the name and/or contents of the virtualshopping cart before re-sharing and present it as a new shared cart. Inoperation 428, the server 210 will query the virtual cart database 225to determine if the secondary user has the permission to further sharethe virtual shopping cart. In operation 436, if the server determinesthe secondary user has permission to re-share the virtual shopping cart,the processor may transmit a request to the server 210 to re-share thelink using the secondary user's social network, email contacts, or otherchannel for sharing a link to the virtual shopping cart.

In operation 428, the secondary user, using the secondary userapplication 134, can add the items from the accessed virtual shoppingcart into the secondary user's own personal shopping cart. The servermay receive a request to add items from accessed virtual shopping cartto the secondary user's personal virtual shopping cart to replicate orduplicate the accessed virtual shopping cart in response to secondaryuser's interaction with the user interface. The server 210 may generatea confirmation window the secondary shopper to confirm the addition ofshared cart items to their own shopping cart. In operation, a secondaryuser, using the secondary user application 134, may checkout with theitems added from the accessed virtual shopping cart.

In describing exemplary embodiments, specific terminology is used forthe sake of clarity. For purposes of description, each specific term isintended to at least include all technical and functional equivalentsthat operate in a similar manner to accomplish a similar purpose.Additionally, in some instances where a particular exemplary embodimentincludes a plurality of system elements, device components or methodsteps, those elements, components or steps may be replaced with a singleelement, component or step. Likewise, a single element, component orstep may be replaced with a plurality of elements, components or stepsthat serve the same purpose. Moreover, while exemplary embodiments havebeen shown and described with references to particular embodimentsthereof, those of ordinary skill in the art will understand that varioussubstitutions and alterations in form and detail may be made thereinwithout departing from the scope of the invention. Further still, otherembodiments, functions and advantages are also within the scope of theinvention.

Exemplary flowcharts are provided herein for illustrative purposes andare non-limiting examples of methods. One of ordinary skill in the artwill recognize that exemplary methods may include more or fewer stepsthan those illustrated in the exemplary flowcharts, and that the stepsin the exemplary flowcharts may be performed in a different order thanthe order shown in the illustrative flowcharts.

We claim:
 1. A method of creating database entries storing and accessinga subset of selected items, the method comprising: receiving, by aserver, a primary virtual shopping cart containing items; creating, bythe server, a first set of database entries in the database for theprimary virtual shopping cart; correlating, via the server, the primaryvirtual shopping cart with a unique identifier to uniquely identify theprimary virtual shopping cart; generating a Uniform Resource Locator(URL) link, the URL link associated with the primary virtual shoppingcart, wherein the URL link has a specified expiration date; receiving,by the server, a selection of the URL link; verifying, by the server,the URL link associated with the primary virtual shopping cart is activebased on the expiration date associated with the URL link; in responseto verifying the URL link, automatically duplicating the first set ofdatabase entries for the primary virtual shopping cart to create asecond set of database entries in the database for a secondary virtualshopping cart.
 2. The method of claim 1, further comprising: receiving,via the server, a request to transmit the URL link associated with theprimary virtual shopping cart; confirming, via the server, permissionsassociated with the primary virtual shopping cart for transmitting theURL link; and in response to confirming, via the server, permissionsassociated with the primary virtual shopping cart for transmitting theURL link, transmitting the URL link, via a communications channel. 3.The method of claim 1, wherein after the expiration date the primaryvirtual shopping cart will no longer be available for duplication intothe secondary virtual shopping cart.
 4. The method of claim 1, whereinthe one or more virtual shopping carts may be associated with one ormore events, uses, or activities.
 5. The method of claim 1, furthercomprising receiving, via the server, the selection of the URL link inresponse to scanning or image capturing at least a portion of a purchasereceipt.
 6. The method of claim 1, wherein the primary virtual shoppingcart may be edited by a plurality of users prior to being copied intothe secondary virtual shopping cart.
 7. The method of claim 1, whereinan access permission associated with the primary virtual shopping cartwill allow or deny accessibility to the primary virtual shopping cart.8. A system of creating database entries storing and accessing a subsetof selected items, the method comprising: a database; a computingdevice; a display operatively coupled to the computing device; a server,the server (i) receives a primary virtual shopping cart containingitems; and (ii) creates one or more database entries in the database forthe primary shopping cart (iii) correlate the primary virtual shoppingcart with a unique identifier to uniquely identify the primary virtualshopping cart, (iv) generates the URL link associated with the primaryvirtual shopping cart, wherein the URL link has a specified expirationdate, (v) receives a selection of a URL link associated with the primaryvirtual shopping cart, (vi) verifies the URL link associated with theprimary virtual shopping cart is active based on the expiration dateassociated with the URL link, (iv) in response to verifying the URLlink, automatically duplicates the first set of database entries for theprimary virtual shopping cart to create a second set of database entriesin the database for a secondary virtual shopping cart.
 9. The system ofclaim 8, wherein the server is further configured to: receive a requestto transmit the URL link associated with the primary virtual shoppingcart; confirm permissions associated with the primary virtual shoppingcart for transmitting the URL link; and in response to confirmingpermissions associated with the primary virtual shopping cart fortransmit the URL link, transmitting the URL link, via a communicationschannel.
 10. The system of claim 8, wherein after the expiration datethe primary virtual shopping cart will no longer be available forduplication into the secondary virtual shopping cart or appear in searchresults.
 11. The system of claim 8, wherein the one or more virtualshopping carts may be associated with one or more events, uses, oractivities.
 12. The system of claim 8, wherein the selection of the URLlink is made by scanning or image capturing at least a portion of apurchase receipt.
 13. The system of claim 8, wherein the primary virtualshopping cart may be edited by a plurality of users prior to beingcopied into a secondary virtual shopping cart.
 14. The system of claim8, wherein an access permission associated with the primary virtualshopping cart will allow or deny accessibility to the primary virtualshopping cart.
 15. A non-transitory computer-readable medium storinginstructions for creating database entries storing and accessing asubset of selected items, wherein execution of the instructions by aprocessor causes the processor to: receive, by a server, a primaryvirtual shopping cart containing items; create, by the server, a firstset of database entries in the database for the primary virtual shoppingcart; correlate, via the server, the primary virtual shopping cart witha unique identifier to uniquely identify the primary virtual shoppingcart; generate a Uniform Resource Locator (URL) link, the URL linkassociated with the primary virtual shopping cart, wherein the URL linkhas a specified expiration date; receive, by the server, a selection ofthe URL link; verify, by the server, the URL link associated with theprimary virtual shopping cart is active based on the expiration dateassociated with the URL link; in response to verifying the URL link,automatically duplicate the first set of database entries for theprimary virtual shopping cart to create a second set of database entriesin the database for a secondary virtual shopping cart.